package ve.com.wayoyo.wuml_case.DibujoDiagramas;

import java.util.ArrayList;

import ve.com.wayoyo.wuml_case.R;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class SeleccionarMetodoComponente extends Dialog{

	private LinearLayout _metodo;
	private ArrayList<CompMetodo> _listaComponente = new ArrayList<CompMetodo>();
	private ArrayList<String> _valuesList;
	private ArrayAdapter<String> _dataAdapter;
	private String _tipoComponente;
	private String _tipoSeleccion;
	
	public SeleccionarMetodoComponente(Context context,ArrayAdapter<String> dataAdapter, String tipoComponente, String tipoSeleccionar) {
		super(context);		
//		_listaComponente = ((CompClase)VistaDiagrama.getVista().getDiagrama().getSelectedItem()).get_metodos();
		this._dataAdapter = dataAdapter;
		this._tipoComponente = tipoComponente;
		this._tipoSeleccion = tipoSeleccionar;
	}
	
	@Override
	public void onCreate(Bundle savedInstanceState) {	
		super.onCreate(savedInstanceState);
		setContentView(R.layout.seleccion_metodo_layout);
		if (_tipoSeleccion.equals("modificar"))
			setTitle("Seleccione el Metodo a Modificar");
		if (_tipoSeleccion.equals("eliminar"))
			setTitle("Seleccione el Metodo a Eliminar");
		_metodo = (LinearLayout) findViewById(R.id.seleccionMetodosLayout);
		_metodo.removeAllViewsInLayout();
		ListView vistaListaAtributo = new ListView(getContext());		
		vistaListaAtributo.setAdapter(_dataAdapter);
		if (this._tipoSeleccion.equals("modificar"))
			vistaListaAtributo.setOnItemClickListener(new OnItemClickListener() {
				public void onItemClick(AdapterView<?> parent, View view,
						int position, long id) {			
					SeleccionarMetodoComponente.this.dismiss();
					ModificarMetodoComponente myDialog = new ModificarMetodoComponente(getContext(),position,_tipoComponente);
					myDialog.show();				
				}
			});
		else if (this._tipoSeleccion.equals("eliminar"))
			vistaListaAtributo.setOnItemClickListener(new OnItemClickListener() {
				public void onItemClick(AdapterView<?> parent, View view,
						int position, long id) {			
					SeleccionarMetodoComponente.this.dismiss();					
					if (_tipoComponente.equals("Clase")){
					((CompClase)VistaDiagrama.getVista().getDiagrama().getSelectedItem()).eliminarMetodo(position);	
					((CompClase)VistaDiagrama.getVista().getDiagrama().getSelectedItem())._height=
							((CompClase)VistaDiagrama.getVista().getDiagrama().getSelectedItem())._height-30;
					}else if (_tipoComponente.equals("Interface")){
						((CompInterface)VistaDiagrama.getVista().getDiagrama().getSelectedItem()).eliminarMetodo(position);	
						((CompInterface)VistaDiagrama.getVista().getDiagrama().getSelectedItem())._height=
								((CompInterface)VistaDiagrama.getVista().getDiagrama().getSelectedItem())._height-30;	
					}else if (_tipoComponente.equals("Abstract")){
						((CompAbstract)VistaDiagrama.getVista().getDiagrama().getSelectedItem()).eliminarMetodo(position);	
						((CompAbstract)VistaDiagrama.getVista().getDiagrama().getSelectedItem())._height=
								((CompAbstract)VistaDiagrama.getVista().getDiagrama().getSelectedItem())._height-30;	
					}
					
					VistaDiagrama.getVista().invalidate();
				}
			});

		_metodo.addView(vistaListaAtributo);
		
		
		
	}

}
